//===============================================================================
// Microsoft patterns & practices
// Guidance Explorer Offline Client
//===============================================================================
// Copyright  Microsoft Corporation.  All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS FOR A PARTICULAR PURPOSE.
//===============================================================================

using System;
using System.Collections.Generic;
using System.IO;
using GuidanceExplorer.Model;

namespace GuidanceExplorer.Services
{
    public interface IHtmlRenderService
    {
        Stream GetEditableDocumentStream(GuidanceItemFileReference guidanceItemFileReference);
        Stream GetReadOnlyDocumentStream(GuidanceItemFileReference guidanceItemFileReference);
        Stream GetReadOnlyTemplateStream(GuidanceItemFileReference guidanceItemFileReference);
        Stream GetReadOnlyExampleStream(GuidanceItemFileReference guidanceItemFileReference);
        Stream GetDocumentStreamForShowing(GuidanceItemFileReference guidanceItem);
        Stream GetRawDocumentStream(GuidanceItemFileReference guidanceItem);
        void RenderGuidanceItemsToHtmlFileInfoWithIndex(IList<GuidanceItemFileReference> itemsContainer, FileInfo file);
        void RenderGuidanceItemsToWordFileInfoWithIndex(IList<GuidanceItemFileReference> itemsContainer, FileInfo file);
        void RenderGuidanceItemToHtml(GuidanceItemFileReference guidanceItem, FileInfo file, bool wordDoc);
        String CleanHTML(string origHTML);
    }
}

